home *** CD-ROM | disk | FTP | other *** search
/ Amiga Games Extra 1996 September / Amiga Games Extra CD-ROM 9-1996.iso / userbox / publicdomain / vim-4.2 / src / term.h < prev    next >
C/C++ Source or Header  |  1996-06-09  |  4KB  |  112 lines

  1. /* vi:set ts=4 sw=4:
  2.  *
  3.  * VIM - Vi IMproved        by Bram Moolenaar
  4.  *
  5.  * Do ":help uganda"  in Vim to read copying and usage conditions.
  6.  * Do ":help credits" in Vim to see a list of people who contributed.
  7.  */
  8.  
  9. /*
  10.  * This file contains the machine dependent escape sequences that the editor
  11.  * needs to perform various operations. Some of the sequences here are
  12.  * optional. Anything not available should be indicated by a null string. In
  13.  * the case of insert/delete line sequences, the editor checks the capability
  14.  * and works around the deficiency, if necessary.
  15.  */
  16.  
  17. #ifdef SASC
  18. /*
  19.  * the SAS C compiler has a bug that makes typedefs being forgot sometimes
  20.  */
  21. typedef unsigned char char_u;
  22. #endif
  23.  
  24. /*
  25.  * Index of the termcap codes in the term_strings array.
  26.  */
  27. enum SpecialKeys
  28. {
  29.     KS_NAME = 0,        /* name of this terminal entry */
  30.     KS_CE,        /* clear to end of line */
  31.     KS_AL,        /* add new blank line */
  32.     KS_CAL,        /* add number of blank lines */
  33.     KS_DL,        /* delete line */
  34.     KS_CDL,        /* delete number of lines */
  35.     KS_CS,        /* scroll region */
  36.     KS_CL,        /* clear screen */
  37.     KS_CD,        /* clear to end of display */
  38.     KS_DA,        /* text may be scrolled down from up */
  39.     KS_DB,        /* text may be scrolled up from down */
  40.     KS_VI,        /* cursor invisible */
  41.     KS_VE,        /* cursor visible */
  42.     KS_VS,        /* cursor very visible */
  43.     KS_ME,        /* normal mode */
  44.     KS_MR,        /* reverse mode */
  45.     KS_MD,        /* bold mode */
  46.     KS_SE,        /* normal mode */
  47.     KS_SO,        /* standout mode */
  48.     KS_CZH,        /* italic mode start */
  49.     KS_CZR,        /* italic mode end */
  50.     KS_UE,        /* exit underscore mode */
  51.     KS_US,        /* underscore mode */
  52.     KS_MS,        /* save to move cur in reverse mode */
  53.     KS_CM,        /* cursor motion */
  54.     KS_SR,        /* scroll reverse (backward) */
  55.     KS_CRI,        /* cursor number of chars right */
  56.     KS_VB,        /* visual bell */
  57.     KS_KS,        /* put term in "keypad transmit" mode */
  58.     KS_KE,        /* out of "keypad transmit" mode */
  59.     KS_TI,        /* put terminal in termcap mode */
  60.     KS_TE,        /* out of termcap mode */
  61.     
  62.     KS_CSC        /* cur is relative to scroll region */
  63. };
  64.  
  65. #define KS_LAST        KS_CSC
  66.  
  67. /*
  68.  * the terminal capabilities are stored in this array
  69.  * IMPORTANT: When making changes, note the following:
  70.  * - there should be an entry for each code in the builtin termcaps
  71.  * - there should be an option for each code in option.c
  72.  * - there should be code in term.c to obtain the value from the termcap
  73.  */
  74.  
  75. extern char_u *(term_strings[]);    /* current terminal strings */
  76.  
  77. /*
  78.  * strings used for terminal
  79.  */
  80. #define T_CE    (term_strings[KS_CE])    /* clear to end of line */
  81. #define T_AL    (term_strings[KS_AL])    /* add new blank line */
  82. #define T_CAL    (term_strings[KS_CAL])    /* add number of blank lines */
  83. #define T_DL    (term_strings[KS_DL])    /* delete line */
  84. #define T_CDL    (term_strings[KS_CDL])    /* delete number of lines */
  85. #define T_CS    (term_strings[KS_CS])    /* scroll region */
  86. #define T_CL    (term_strings[KS_CL])    /* clear screen */
  87. #define T_CD    (term_strings[KS_CD])    /* clear to end of display */
  88. #define T_DA    (term_strings[KS_DA])    /* text may be scrolled down from up */
  89. #define T_DB    (term_strings[KS_DB])    /* text may be scrolled up from down */
  90. #define T_VI    (term_strings[KS_VI])    /* cursor invisible */
  91. #define T_VE    (term_strings[KS_VE])    /* cursor visible */
  92. #define T_VS    (term_strings[KS_VS])    /* cursor very visible */
  93. #define T_ME    (term_strings[KS_ME])    /* normal mode */
  94. #define T_MR    (term_strings[KS_MR])    /* reverse mode */
  95. #define T_MD    (term_strings[KS_MD])    /* bold mode */
  96. #define T_SE    (term_strings[KS_SE])    /* normal mode */
  97. #define T_SO    (term_strings[KS_SO])    /* standout mode */
  98. #define T_CZH    (term_strings[KS_CZH])    /* italic mode start */
  99. #define T_CZR    (term_strings[KS_CZR])    /* italic mode end */
  100. #define T_UE    (term_strings[KS_UE])    /* exit underscore mode */
  101. #define T_US    (term_strings[KS_US])    /* underscore mode */
  102. #define T_MS    (term_strings[KS_MS])    /* save to move cur in reverse mode */
  103. #define T_CM    (term_strings[KS_CM])    /* cursor motion */
  104. #define T_SR    (term_strings[KS_SR])    /* scroll reverse (backward) */
  105. #define T_CRI    (term_strings[KS_CRI])    /* cursor number of chars right */
  106. #define T_VB    (term_strings[KS_VB])    /* visual bell */
  107. #define T_KS    (term_strings[KS_KS])    /* put term in "keypad transmit" mode */
  108. #define T_KE    (term_strings[KS_KE])    /* out of "keypad transmit" mode */
  109. #define T_TI    (term_strings[KS_TI])    /* put terminal in termcap mode */
  110. #define T_TE    (term_strings[KS_TE])    /* out of termcap mode */
  111. #define T_CSC    (term_strings[KS_CSC])    /* cur is relative to scroll region */
  112.